// 将二维矩阵旋转90度  先水平-再主对角线

var rotate = function(matrix) {
  const [row, col] = [matrix.length, matrix[0].length];

  // 水平反转
  for (let i = 0; i < Math.floor(row / 2); i++) {
    for (let j = 0; j < col; j++) {
      [matrix[i][j], matrix[row - i - 1][j]] = [matrix[row - i - 1][j], matrix[i][j]];
    }
  }

  // 主对角线反转
  for (let i = 0; i < row; i++) {
    for (let j = 0; j < i; j++) {
      [matrix[i][j], matrix[j][i]] = [matrix[j][i], matrix[i][j]];
    }
  }
  return matrix;
};


const matrix = [[1,2,3],[4,5,6],[7,8,9]];
console.log(rotate(matrix));